<template>
  <!-- Tooltip组件结构 -->
  <div class="tooltip-trigger">
    悬停我
    <span class="tooltip">这是提示文本</span>
  </div>
</template>

<script setup></script>

<style scoped>
/* 触发元素样式 */
.tooltip-trigger {
  position: relative; /* 关键：作为tooltip的定位容器 */
  display: inline-block;
  padding: 8px 16px;
  background: #42b983;
  color: white;
  border-radius: 4px;
  cursor: pointer;
}

/* Tooltip基础样式 */
.tooltip {
  /* 定位：相对于触发元素 */
  position: absolute;
  /* 显示在触发元素上方 */
  /* bottom: 100%; */
  /* 显示在触发元素下方 */
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  /* 箭头位于触发元素上方 */
  /* margin-bottom: 6px; */
  /* 箭头位于触发元素下方 */
  margin-top: 6px;

  /* 外观 */
  padding: 4px 8px;
  background: #333;
  color: white;
  font-size: 12px;
  border-radius: 2px;
  white-space: nowrap; /* 防止文本换行 */

  /* 默认隐藏 */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease; /* 淡入淡出动画 */

  /* 避免被其他元素遮挡 */
  z-index: 100;
}

/* 小三角箭头（可选） */
.tooltip::after {
  content: '';
  position: absolute;
  /* 箭头指向下方（指向触发元素） */
  /* top: 100%; */
  /* 箭头指向上方（指向触发元素） */
  bottom: 100%;

  left: 50%;
  transform: translateX(-50%);
  border-width: 4px;
  border-style: solid;
  /* 箭头指向下方（指向触发元素） */
  /* border-color: #333 transparent transparent transparent; */
  /* 箭头指向上方（指向触发元素） */
  border-color: transparent transparent #333 transparent;
}

/* 鼠标悬停时显示tooltip */
.tooltip-trigger:hover .tooltip {
  opacity: 1;
  visibility: visible;
}
</style>
